<?php


class Controle {
	private $vista;
	private $registro;
	private $usuario;
	private $smarty;
	
	/**
	 * @constructor
	 * @classDescription Classe Controle que coordena todo fluxo de acoes do sistema. Instancia um Registro, verifica se o usuario esta logado, e executa a acao passada como parametro.
	 * @param string $acao
	 */
	public function Controle($acao){
		$GLOBALS['controle'] = $this;
		$this->setRegistro(new Registro());
		$this->setSmarty(new Smarty());

		$this->getSmarty()->compile_check = true;
		$this->getSmarty()->debugging = false;
		
		if(isset($_SESSION['constructore']['usuario'])){
			$usuario	=	unserialize($_SESSION['constructore']['usuario']);
			$this->setUsuario($usuario);
			$this->registro->set('usuario', $this->usuario);
		}
		else{
			$this->setUsuario(null);
		}
		$this->executaAcao($acao);
	}
	
	/**
	 * Executa a acao passada a classe atraves do construtor.
	 * Faz a requisicao da pagina controle$acao.php, onde estao todos os comandos necessarios para a execucao da acao.
	 * @param string $acao
	 */
	private function executaAcao($acao){
		if ($this->getUsuario() != null && !$this->getUsuario()->getTermoCompromisso() && $acao != 'deslogar')
			$acao 	=	'aceitartermo';
		
		$controleAcao			=	$acao . '.php';
		
		if (defined('PARAMETRO_0') && constant('PARAMETRO_0') == 'curso') {
			$arquivoControleAcao	=	constant('CAMINHO_SITE') . 'controle/curso/' . $controleAcao;
		}
		else {
			$arquivoControleAcao	=	constant('CAMINHO_SITE') . 'controle/externo/' . $controleAcao;
		}

		if(file_exists($arquivoControleAcao)){
			require($arquivoControleAcao);
		}
		else{
			header('Status: 404 Not Found');
			redireciona(array('404'));
		}
	}
	
	/**
	 * Instancia uma Vista para o Controle e chama a funcao exibir da Vista para a pagina $pagina.
	 * @param string $pagina
	 */
	public function exibir($pagina){
		$this->getSmarty()->assign('acao', constant('PARAMETRO_0'));
		if (!(defined('PARAMETRO_0') && (constant('PARAMETRO_0') == 'curso' || constant('PARAMETRO_0') == 'centraldenoticias')))
			$this->getSmarty()->assign('arrayMenu', $this->configuraMenuPrincipal());
		$this->verificaBrowser();
		
		$this->configuraCabecalho();
		$this->configuraMensagens();
		
		$this->setVista(new Vista($this->getRegistro(), $this->getSmarty()));
		$this->getVista()->exibir($pagina);
	}
	
	/**
	 * Associa constantes definidas no arquivo de idioma a variaveis do template.
	 */
	private function associaTexto($constantes){
		if (is_array($constantes)) {
			foreach ($constantes as $constante) {
				$this->getSmarty()->assign($constante, texto($constante));
			}
		}
		else {
			return false;
		}
	}
	
	/**
	 * Verifica se o IE 6 ou 7 está sendo usado, e caso esteja seta as variáveis através do Smarty para exibir uma mensagem ao usuario.
	 */
	private function verificaBrowser(){
		$browser 	=	getBrowser();
		if ($browser['browser'] == "MSIE") {
			if (intval($browser['version']) < 8) {
				$this->associaTexto(array('TEXTO_IE_PARAGRAFO1', 'TEXTO_IE_PARAGRAFO2'));
				$this->getSmarty()->assign('mostraDivBrowsers', true);
				$this->getSmarty()->assign('arrayBrowsers', array(	array('nome' => 'Firefox', 'link' => 'http://br.mozdev.org/','imagem' => constant('CAMINHO_LINK') . 'imagens/firefox.png', 'alt' => 'Mozilla Firefox Logo', 'title' => 'Faça download do Mozilla Firefox'),
																	array('nome' => 'Chrome', 'link' => 'http://www.google.com.br/chrome/','imagem' => constant('CAMINHO_LINK') . 'imagens/chrome.png', 'alt' => 'Google Chrome Logo', 'title' => 'Faça download do Google Chrome'),
																	array('nome' => 'Safari', 'link' => 'http://www.apple.com.br/safari/','imagem' => constant('CAMINHO_LINK') . 'imagens/safari.png', 'alt' => 'Apple Safari Logo', 'title' => 'Faça download do Safari'),
																	array('nome' => 'Opera', 'link' => 'http://www.opera.com/','imagem' => constant('CAMINHO_LINK') . 'imagens/opera.png', 'alt' => 'Opera Logo', 'title' => 'Faça download do Opera'),
																	array('nome' => 'IE 8', 'link' => 'http://www.microsoft.com/brasil/windows/internet-explorer/','imagem' => constant('CAMINHO_LINK') . 'imagens/ie.png', 'alt' => 'Microsoft Intenet Explorer Logo', 'title' => 'Faça download do Intenet Explorer 8')));
			}
		}
	}
	
	/**
	 * Configura o Cabecalho
	 */
	private function configuraCabecalho(){
		$this->configuraMenuSuperior();
		$this->getSmarty()->assign('linkConstructore', $this->getUsuario() != null ? montaLink(array('inicial')) : montaLink(array('principal')));
		$this->configuraBusca();
	}
	
	/**
	 * Configura Mensagens
	 */
	private function configuraMensagens(){
		if (isset($_SESSION['constructore']['mensagens']) && is_array($_SESSION['constructore']['mensagens'])) {
			if (sizeof($_SESSION['constructore']['mensagens']) > 0) {
				$this->getSmarty()->assign('exibirMensagens', true);
				$this->getSmarty()->assign('mensagens', $_SESSION['constructore']['mensagens']);
			}
		}
		
		if (isset($_SESSION['constructore']['mensagensErro']) && is_array($_SESSION['constructore']['mensagensErro'])) {
			if (sizeof($_SESSION['constructore']['mensagensErro']) > 0) {
				$this->getSmarty()->assign('exibirMensagensErro', true);
				$this->getSmarty()->assign('mensagensErro', $_SESSION['constructore']['mensagensErro']);
			}
		}
		unset($_SESSION['constructore']['mensagens']);
		unset($_SESSION['constructore']['mensagensErro']);
	}
	
	/**
	 * Configura o Menu Superior.
	 */
	private function configuraMenuSuperior(){
		$this->getSmarty()->assign('usuarioLogado', $this->getUsuario() != null ? true : false);
		
		$this->getSmarty()->assign('linkMinhaConstructore', array('texto' => texto('AREA_MINHA_CONSTRUCTORE'), 'href' => montaLink(array('inicial')), 'class' => constant('PARAMETRO_0') == 'inicial' ? 'linkAtivoBarraSuperior' : 'linkBarraSuperior'));
		$this->getSmarty()->assign('linkSuporteTecnico', array('texto' => texto('AREA_SUPORTE_TECNICO'),'href' => montaLink(array('suporte')), 'class' => constant('PARAMETRO_0') == 'suporte' ? 'linkAtivoBarraSuperior' : 'linkBarraSuperior'));
		$this->getSmarty()->assign('linkManual', array('texto' => texto('AREA_MANUAL'),'href' => montaLink(array('manual')), 'class' => constant('PARAMETRO_0') == 'manual' ? 'linkAtivoBarraSuperior' : 'linkBarraSuperior'));
		$this->getSmarty()->assign('linkSair', array('texto' => texto('AREA_SAIR'),'href' => montaLink(array('deslogar')), 'class' => constant('PARAMETRO_0') == 'deslogar' ? 'linkAtivoBarraSuperior' : 'linkBarraSuperior'));
		$this->getSmarty()->assign('linkInicio', array('texto' => texto('AREA_INICIO'),'href' => montaLink(array('principal')), 'class' => constant('PARAMETRO_0') == 'principal' ? 'linkAtivoBarraSuperior' : 'linkBarraSuperior'));
		$this->getSmarty()->assign('linkCadastro', array('texto' => texto('AREA_CADASTRO'),'href' => montaLink(array('cadastro')), 'class' => constant('PARAMETRO_0') == 'cadastro' ? 'linkAtivoBarraSuperior' : 'linkBarraSuperior'));
		$this->getSmarty()->assign('linkConteudoLivre', array('texto' => texto('AREA_CONTEUDO_LIVRE'),'href' => montaLink(array('livre')), 'class' => constant('PARAMETRO_0') == 'livre' ? 'linkAtivoBarraSuperior' : 'linkBarraSuperior'));
		$this->getSmarty()->assign('linkFaleConosco', array('texto' => texto('AREA_FALE_CONOSCO'),'href' => montaLink(array('fale')), 'class' => constant('PARAMETRO_0') == 'fale' ? 'linkAtivoBarraSuperior' : 'linkBarraSuperior'));
	}
	
	/**
	 * Configura as String e variaveis da Busca dop Cabecalho
	 */
	private function configuraBusca(){
		$this->getSmarty()->assign('actionFormBusca', montaLink(array('busca')));
		$this->associaTexto(array('LABEL_BUSCA', 'LABEL_BUSCA_CURSOS', 'LABEL_BUSCA_USUARIOS', 'LABEL_BUSCA_AVANCADA', 'ALT_BOTAO_BUSCAR', 'TITLE_BOTAO_BUSCAR'));
	}
	
	private function configuraMenuPrincipal () {
		$constantes		=	get_defined_constants(true);
		$parametros		=	array();
		
		foreach ($constantes['user'] as $constante => $valor) {
			if (preg_match('/^PARAMETRO_[0-9]+$/', $constante)) {
				$parametros[$constante]	=	$valor;
			}
		}
		if (is_array($parametros)) {
			$arrayMenu	=	array();
			
			if ($this->getUsuario() == NULL) {
				$linkInicioSelecionado	=	false;
				if (isset($parametros['PARAMETRO_0']) && $parametros['PARAMETRO_0'] == 'principal') {
					$linkInicioSelecionado	=	true;
				}
				$arrayInicio	=	array(	'texto' => texto('AREA_INICIO'),
											'href' => montaLink(array('principal')),
											'class' => $linkInicioSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
				array_push($arrayMenu, $arrayInicio);
				
				$linkCadastroSelecionado	=	false;
				if (isset($parametros['PARAMETRO_0']) && $parametros['PARAMETRO_0'] == 'cadastro') {
					$linkCadastroSelecionado	=	true;
				}
				$arrayCadastro	=	array(	'texto' => texto('AREA_CADASTRO'),
											'href' => montaLink(array('cadastro')),
											'class' => $linkCadastroSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
				array_push($arrayMenu, $arrayCadastro);
				
				$linkLivreSelecionado	=	false;
				if (isset($parametros['PARAMETRO_0']) && $parametros['PARAMETRO_0'] == 'livre') {
					$linkLivreSelecionado	=	true;
				}
				$arrayLivre	=	array(	'texto' => texto('AREA_CONTEUDO_LIVRE'),
										'href' => montaLink(array('livre')),
										'class' => $linkLivreSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
				array_push($arrayMenu, $arrayLivre);
				
				$linkFaleSelecionado	=	false;
				if (isset($parametros['PARAMETRO_0']) && $parametros['PARAMETRO_0'] == 'fale') {
					$linkFaleSelecionado	=	true;
				}
				$arrayFale	=	array(	'texto' => texto('AREA_FALE_CONOSCO'),
										'href' => montaLink(array('fale')),
										'class' => $linkFaleSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
				array_push($arrayMenu, $arrayFale);
			}
			else {
				$tipoCadastro	=	$this->getUsuario()->getTipoCadastro();
				
				if ($tipoCadastro == 'Professor' || $tipoCadastro == 'Administrador') {
					$tiposRecursosBanco	=	TipoRecurso::buscar($this->getUsuario()->getIdUsuario());
					$tiposRecursosBanco	=	$tiposRecursosBanco['listaResultados'];
					if ($tipoCadastro == 'Professor' && !$this->getUsuario()->getProfessorAutorizado()) {
						$visualizacao	=	'Novo Professor';
					}
					else {
						$visualizacao	=	$tipoCadastro;
					}
				}
				else {
					$listaTiposRecurso	=	NULL;
					$visualizacao		=	$tipoCadastro;
				}
				
				//Configuracao do link minha constructore, comum em todas as visualizacoes
				$linkMinhaConstructoreSelecionado	=	false;
				if (isset($parametros['PARAMETRO_0']) && $parametros['PARAMETRO_0'] == 'inicial') {
					$linkMinhaConstructoreSelecionado	=	true;
				}
				$arrayMinhaConstructore	=	array(	'texto' => texto('AREA_MINHA_CONSTRUCTORE'),
													'href' => montaLink(array('inicial')),
													'class' => $linkMinhaConstructoreSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
				array_push($arrayMenu, $arrayMinhaConstructore);
				
				if ($visualizacao == 'Administrador' || $visualizacao == 'Professor' || $visualizacao == 'Novo Professor') {
					//Configuracao do link minha constructore, comum em todas as visualizacoes
					$linkCriarCursoSelecionado	=	false;
					if (isset($parametros['PARAMETRO_0']) && $parametros['PARAMETRO_0'] == 'criarcurso') {
						$linkCriarCursoSelecionado	=	true;
					}
					
					if ($visualizacao == 'Novo Professor') {
						$arrayCriarCurso	=	array(	'texto' => texto('AREA_CRIAR_CURSO'),
														'title' => texto('TITLE_EXPLICACAO_CRIAR_CRUSO'),
														'class' => 'itemMenuPrincipal');
					}
					else {
						$arrayCriarCurso	=	array(	'texto' => texto('AREA_CRIAR_CURSO'),
														'class' => $linkCriarCursoSelecionado ? 'itemMenuPrincipalTextoSelecionado' : 'itemMenuPrincipalTexto',
														'aberto' => true,
														'submenu' => array());
						
						$linkPasso1Selecionado	=	false;
						if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'passo1') {
							$linkPasso1Selecionado	=	true;
						}
						$arrayPasso1	=	array(	'texto' => texto('AREA_CRIAR_CURSO_PASSO1'),
													'href' => montaLink(array('criarcurso', 'passo1')),
													'class' => $linkPasso1Selecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
						array_push($arrayCriarCurso['submenu'], $arrayPasso1);
						
						$linkPasso2Selecionado	=	false;
						if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'passo2') {
							$linkPasso2Selecionado	=	true;
						}
						$arrayPasso2	=	array(	'texto' => texto('AREA_CRIAR_CURSO_PASSO2'),
													'href' => montaLink(array('criarcurso', 'passo2')),
													'class' => $linkPasso2Selecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
						array_push($arrayCriarCurso['submenu'], $arrayPasso2);
						
						$linkPasso3Selecionado	=	false;
						if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'passo3') {
							$linkPasso3Selecionado	=	true;
						}
						$arrayPasso3	=	array(	'texto' => texto('AREA_CRIAR_CURSO_PASSO3'),
													'href' => montaLink(array('criarcurso', 'passo3')),
													'class' => $linkPasso3Selecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
						array_push($arrayCriarCurso['submenu'], $arrayPasso3);
						
						$linkPasso4Selecionado	=	false;
						if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'passo4') {
							$linkPasso4Selecionado	=	true;
						}
						$arrayPasso4	=	array(	'texto' => texto('AREA_CRIAR_CURSO_PASSO4'),
													'href' => montaLink(array('criarcurso', 'passo4')),
													'class' => $linkPasso4Selecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
						array_push($arrayCriarCurso['submenu'], $arrayPasso4);
						
						$linkPasso5Selecionado	=	false;
						if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'passo5') {
							$linkPasso5Selecionado	=	true;
						}
						$arrayPasso5	=	array(	'texto' => texto('AREA_CRIAR_CURSO_PASSO5'),
													'href' => montaLink(array('criarcurso', 'passo5')),
													'class' => $linkPasso5Selecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
						array_push($arrayCriarCurso['submenu'], $arrayPasso5);
						
						$linkPasso6Selecionado	=	false;
						if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'passo6') {
							$linkPasso6Selecionado	=	true;
						}
						$arrayPasso6	=	array(	'texto' => texto('AREA_CRIAR_CURSO_PASSO6'),
													'href' => montaLink(array('criarcurso', 'passo6')),
													'class' => $linkPasso6Selecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
						array_push($arrayCriarCurso['submenu'], $arrayPasso6);
						
						$linkDuplicarSelecionado	=	false;
						if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'duplicar') {
							$linkDuplicarSelecionado	=	true;
						}
						$arrayDuplicar	=	array(	'texto' => texto('AREA_CRIAR_CURSO_DUPLICAR'),
													'href' => montaLink(array('criarcurso', 'duplicar')),
													'class' => $linkDuplicarSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
						array_push($arrayCriarCurso['submenu'], $arrayDuplicar);
					}
					
					array_push($arrayMenu, $arrayCriarCurso);
				}
				
				//Configuracao do link meus cursos, comum em todas as visualizacoes
				$linkMeusCursosSelecionado	=	false;
				if (isset($parametros['PARAMETRO_0']) && $parametros['PARAMETRO_0'] == 'meuscursos') {
					$linkMeusCursosSelecionado	=	true;
				}
				$arrayMeusCursos	=	array(	'texto' => texto('AREA_MEUS_CURSOS'),
												'class' => $linkMeusCursosSelecionado ? 'itemMenuPrincipalTextoSelecionado' : 'itemMenuPrincipalTexto',
												'aberto' => true,
												'submenu' => array());
				
				$linkMeusCursosAndamentoSelecionado	=	false;
				if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'andamento') {
					$linkMeusCursosAndamentoSelecionado	=	true;
				}
				$arrayMeusCursosAndamento	=	array(	'texto' => texto('AREA_MEUS_CURSOS_EM_ANDAMENTO'),
														'href' => montaLink(array('meuscursos', 'andamento')),
														'class' => $linkMeusCursosAndamentoSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
				array_push($arrayMeusCursos['submenu'], $arrayMeusCursosAndamento);
				
				if ($visualizacao == 'Professor' || $visualizacao == 'Administrador') {
					$linkMeusCursosDesenvolvimentoSelecionado	=	false;
					if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'desenvolvimento') {
						$linkMeusCursosDesenvolvimentoSelecionado	=	true;
					}
					$arrayMeusCursosDesenvolvimento	=	array(	'texto' => texto('AREA_MEUS_CURSOS_EM_DESENVOLVIMENTO'),
																'href' => montaLink(array('meuscursos', 'desenvolvimento')),
																'class' => $linkMeusCursosDesenvolvimentoSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
					array_push($arrayMeusCursos['submenu'], $arrayMeusCursosDesenvolvimento);
				}
				
				$linkMeusCursosConcluidosSelecionado	=	false;
				if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'concluidos') {
					$linkMeusCursosConcluidosSelecionado	=	true;
				}
				$arrayMeusCursosConcluidos	=	array(	'texto' => texto('AREA_MEUS_CURSOS_CONCLUIDOS'),
														'href' => montaLink(array('meuscursos', 'concluidos')),
														'class' => $linkMeusCursosConcluidosSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
				array_push($arrayMeusCursos['submenu'], $arrayMeusCursosConcluidos);
				
				array_push($arrayMenu, $arrayMeusCursos);
				
				$linkMeusDadosSelecionado	=	false;
				if (isset($parametros['PARAMETRO_0']) && $parametros['PARAMETRO_0'] == 'meusdados') {
					$linkMeusDadosSelecionado	=	true;
				}
				$arrayMeusDados	=	array(	'texto' => texto('AREA_MEUS_DADOS'),
											'href' => montaLink(array('meusdados')),
											'class' => $linkMeusDadosSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
				array_push($arrayMenu, $arrayMeusDados);
				
				$linkMeusEmailsSelecionado	=	false;
				if (isset($parametros['PARAMETRO_0']) && $parametros['PARAMETRO_0'] == 'meusemails') {
					$linkMeusEmailsSelecionado	=	true;
				}
				$arrayMeusEmails	=	array(	'texto' => texto('AREA_MEUS_EMAILS'),
												'href' => montaLink(array('meusemails')),
												'class' => $linkMeusEmailsSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
				array_push($arrayMenu, $arrayMeusEmails);
				//TODO submenus de meus emails
				
				$linkMeuBlogSelecionado	=	false;
				if (isset($parametros['PARAMETRO_0']) && $parametros['PARAMETRO_0'] == 'meublog') {
					$linkMeuBlogSelecionado	=	true;
				}
				$arrayMeuBlog	=	array(	'texto' => texto('AREA_MEU_BLOG'),
											'href' => montaLink(array('meublog')),
											'class' => $linkMeuBlogSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
				array_push($arrayMenu, $arrayMeuBlog);
				//TODO submenus de meu blog
				
				if ($visualizacao == 'Administrador' || $visualizacao == 'Professor' || $visualizacao == 'Novo Professor') {
					$linkBancoRecursosSelecionado	=	false;
					if (isset($parametros['PARAMETRO_0']) && $parametros['PARAMETRO_0'] == 'bancoderecursos') {
						$linkBancoRecursosSelecionado	=	true;
					}
					$arrayBancoRecursos	=	array(	'texto' => texto('AREA_BANCO_DE_RECURSOS'),
													'href' => montaLink(array('bancoderecursos')),
													'class' => $linkBancoRecursosSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal',
													'aberto' => true,
													'submenu' => array());
					foreach ($tiposRecursosBanco as $chave => $tipo) {
						$linkRecursoSelecionado	=	false;
						if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == canonizar($tipo['tipo'])) {
							$linkRecursoSelecionado	=	true;
						}
						$arrayRecurso	=	array(	'texto' => $tipo['tipo'],
													'href' => montaLink(array('bancoderecursos', canonizar($tipo['tipo']))),
													'class' => $linkRecursoSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
						array_push($arrayBancoRecursos['submenu'], $arrayRecurso);
					}
					
					array_push($arrayMenu, $arrayBancoRecursos);
				}
				
				$linkAgendaSelecionado	=	false;
				if (isset($parametros['PARAMETRO_0']) && $parametros['PARAMETRO_0'] == 'agenda') {
					$linkAgendaSelecionado	=	true;
				}
				$arrayAgenda	=	array(	'texto' => texto('AREA_AGENDA'),
											'href' => montaLink(array('agenda')),
											'class' => $linkAgendaSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
				array_push($arrayMenu, $arrayAgenda);
				
				if ($visualizacao == 'Administrador') {
					$linkAdministracaoSelecionado	=	false;
					if (isset($parametros['PARAMETRO_0']) && $parametros['PARAMETRO_0'] == 'administracao') {
						$linkAdministracaoSelecionado	=	true;
					}
					$arrayAdministracao	=	array(	'texto' => texto('AREA_ADMINISTRACAO'),
													'class' => $linkAdministracaoSelecionado ? 'itemMenuPrincipalTextoSelecionado' : 'itemMenuPrincipalTexto',
													'aberto' => true,
													'submenu' => array());
					
					$linkAdministracaoCursosSelecionado	=	false;
					if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'cursos') {
						$linkAdministracaoCursosSelecionado	=	true;
					}
					$arrayAdministracaoCursos	=	array(	'texto' => texto('AREA_CURSOS'),
															'href' => montaLink(array('administracao', 'cursos')),
															'class' => $linkAdministracaoCursosSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
					array_push($arrayAdministracao['submenu'], $arrayAdministracaoCursos);
					
					$linkAdministracaoUsuariosSelecionado	=	false;
					if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'usuarios') {
						$linkAdministracaoUsuariosSelecionado	=	true;
					}
					$arrayAdministracaoUsuarios	=	array(	'texto' => texto('AREA_USUARIOS'),
															'href' => montaLink(array('administracao', 'usuarios')),
															'class' => $linkAdministracaoUsuariosSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
					array_push($arrayAdministracao['submenu'], $arrayAdministracaoUsuarios);
					
					$linkAdministracaoSuporteSelecionado	=	false;
					if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'suporte') {
						$linkAdministracaoSuporteSelecionado	=	true;
					}
					$arrayAdministracaoSuporte	=	array(	'texto' => texto('AREA_SUPORTE_TECNICO'),
															'href' => montaLink(array('administracao', 'suporte')),
															'class' => $linkAdministracaoSuporteSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
					array_push($arrayAdministracao['submenu'], $arrayAdministracaoSuporte);
					
					$linkAdministracaoCorreioSelecionado	=	false;
					if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'correio') {
						$linkAdministracaoCorreioSelecionado	=	true;
					}
					$arrayAdministracaoCorreio	=	array(	'texto' => texto('AREA_CORREIO'),
															'href' => montaLink(array('administracao', 'correio')),
															'class' => $linkAdministracaoCorreioSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
					array_push($arrayAdministracao['submenu'], $arrayAdministracaoCorreio);
					
					$linkAdministracaoNoticiasSelecionado	=	false;
					if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'centraldenoticias') {
						$linkAdministracaoNoticiasSelecionado	=	true;
					}
					$arrayAdministracaoNoticias	=	array(	'texto' => texto('AREA_CENTRAL_DE_NOTICIAS'),
															'href' => montaLink(array('administracao', 'centraldenoticias')),
															'class' => $linkAdministracaoNoticiasSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
					array_push($arrayAdministracao['submenu'], $arrayAdministracaoNoticias);
					
					$linkAdministracaoPerguntasSelecionado	=	false;
					if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'perguntasinscricao') {
						$linkAdministracaoPerguntasSelecionado	=	true;
					}
					$arrayAdministracaoPerguntas	=	array(	'texto' => texto('AREA_PERGUNTAS_DE_INSCRICAO'),
																'href' => montaLink(array('administracao', 'perguntasinscricao')),
																'class' => $linkAdministracaoPerguntasSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
					array_push($arrayAdministracao['submenu'], $arrayAdministracaoPerguntas);
					
					$linkAdministracaoGruposSelecionado	=	false;
					if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'gruposconhecimento') {
						$linkAdministracaoGruposSelecionado	=	true;
					}
					$arrayAdministracaoGrupos	=	array(	'texto' => texto('AREA_GRUPOS_DE_CONHECIMENTO'),
															'href' => montaLink(array('administracao', 'gruposconhecimento')),
															'class' => $linkAdministracaoGruposSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
					array_push($arrayAdministracao['submenu'], $arrayAdministracaoGrupos);
					
					$linkAdministracaoLayoutsSelecionado	=	false;
					if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'layouts') {
						$linkAdministracaoLayoutsSelecionado	=	true;
					}
					$arrayAdministracaoLayouts	=	array(	'texto' => texto('AREA_LAYOUTS'),
															'href' => montaLink(array('administracao', 'layouts')),
															'class' => $linkAdministracaoLayoutsSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
					array_push($arrayAdministracao['submenu'], $arrayAdministracaoLayouts);
					
					$linkAdministracaoTiposSelecionado	=	false;
					if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'tiposrecurso') {
						$linkAdministracaoTiposSelecionado	=	true;
					}
					$arrayAdministracaoTipos	=	array(	'texto' => texto('AREA_TIPOS_DE_RECURSO'),
															'href' => montaLink(array('administracao', 'tiposrecurso')),
															'class' => $linkAdministracaoTiposSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
					array_push($arrayAdministracao['submenu'], $arrayAdministracaoTipos);
					
					$linkAdministracaoEstatisticasSelecionado	=	false;
					if (isset($parametros['PARAMETRO_1']) && $parametros['PARAMETRO_1'] == 'estatisticas') {
						$linkAdministracaoEstatisticasSelecionado	=	true;
					}
					$arrayAdministracaoEstatisticas	=	array(	'texto' => texto('AREA_ESTATISTICAS'),
																'href' => montaLink(array('administracao', 'estatisticas')),
																'class' => $linkAdministracaoEstatisticasSelecionado ? 'itemMenuPrincipalSelecionado' : 'itemMenuPrincipal');
					array_push($arrayAdministracao['submenu'], $arrayAdministracaoEstatisticas);
					
					array_push($arrayMenu, $arrayAdministracao);
				}
			}
			
			return $arrayMenu;
		}
		else {
			return false;
		}
	}
	
	 /**
	 * Retorna o Registro $registro do Controle.
	 * @return Registro
     * @see Vista::$registro
     */
    private function getRegistro()
    {
        return $this->registro;
    }
   
    /**
     * Seta o registro da Vista com $registro.
     * @param Registro $registro
     * @see Vista::$registro
     */
    private function setRegistro($registro)
    {
        $this->registro = $registro;
    }
   
    /**
     * Retorna o Usuario $usuario do Controle(Usuario do Sistema).
     * @return Usuario
     * @see Controle::$usuario
     */
    private function getUsuario()
    {
        return $this->usuario;
    }
   
    /**
     * Seta o Usuario $usuario do Controle(Usuario do Sistema).
     * @param Usuario $usuario
     * @see Controle::$usuario
     */
    private function setUsuario($usuario)
    {
        $this->usuario = $usuario;
    }

    /**
     * Retorna a Vista do Controle.
     * @return Vista
     * @see Controle::$vista
     */
    private function getVista()
    {
        return $this->vista;
    }
   
    /**
     * Seta a Vista do Controle.
     * @param Vista $vista
     * @see Controle::$vista
     */
    private function setVista($vista)
    {
        $this->vista = $vista;
	}
	
    /**
     * Retorna o $smarty do Controle.
     *
     * @see Controle::$smarty
     */
    public function getSmarty() {
        return $this->smarty;
    }
    
    /**
     * Seta o $smarty do Controle.
     *
     * @param object $smarty
     * @see Controle::$smarty
     */
    public function setSmarty($smarty) {
        $this->smarty = $smarty;
    }
    }
?>